﻿using System;
using System.Runtime.InteropServices;

namespace Contoso.VisualStudio
{
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("3634494C-492F-4F91-8009-4541234E4E99")]
    public interface IVsSingleFileGenerator
    {
        [return: MarshalAs(UnmanagedType.BStr)]
        string GetDefaultExtension();
        void Generate([MarshalAs(UnmanagedType.LPWStr)] string wszInputFilePath, [MarshalAs(UnmanagedType.BStr)] string bstrInputFileContents, [MarshalAs(UnmanagedType.LPWStr)] string wszDefaultNamespace, out IntPtr rgbOutputFileContents, [MarshalAs(UnmanagedType.U4)] out int pcbOutput, IVsGeneratorProgress pGenerateProgress);
    }
}
